SQLite使用inner join查询会查询出重复数据

图片说明

            两个表  A表有两万七千多数据  B表有四万六千多数据,用inner join 查询为什么会查询出七万多条数据?  用left join 查询会查询出九万多条数据?为什么

4个回答

inner join 和left join 要了解下,用inner join 如果 A表ddbh字段的数据不唯一,你用A inner join B on A.ddbh=B.ddbh 会根据A表为主表,这样A表有重复的数据肯定最终查询的会重复,根据业务用inner join或者left join,要么过滤

ddbh字段是唯一值吗?不是唯一值出现重复很正常

sjk2lq
sjk2lq 回复qq_28004989: select a.ddbh,b.ddbh from b left join a on b.ddbh = a.ddbh
一年多之前 回复
qq_28004989
金羽痕 A表不是唯一值,B表是唯一值,这种怎么匹配?
一年多之前 回复

首先确保俩表的ddbh字段的唯一性

wlq199101
wlq199101 LEFT JOIN 改成 INNER JOIN
一年多之前 回复
wlq199101
wlq199101 SELECT a.ddbh ,b.ddbh FROM a LEFT JOIN (SELECT ddbh FROM b GROUP BY ddbh )AS b ON b.ddbh = a.ddbh
一年多之前 回复

笛卡尔积了。
查询时确定两个表的唯一字段,
如字段不唯一,需要做去重处理

Data_learning
Conpgo1 首先就是 两张关联表的关联字段 要保证数值唯一,或者取最新状态,或者某一字段最大值?
一年多之前 回复
qq_28004989
金羽痕 A表不是唯一值,B表是唯一值,这种怎么做去重处理?
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
sqlite3_exec使用inner join查询失败

sqlite3_exec使用inner join的话查询返回结果是sqlite_ok的,但是拿不到结果,并且连回调函数都没有进入,起初以为是我sql语句写错了,但是在sqlitestudio中使用的话,是能查询到结果的,而且和预期一样,语句都是用的"select card.*,DeckCard.SelectNum,DeckCard.UnSelectNum from card inner join DeckCard on card.CardId=DeckCard.CardId",尝试了下发现如果不使用inner join的话,单独两表都能正确查询,求大神帮助,sqlite3_exec中要如何使用innerjoin,sqlitestudio的查询结果如下图 ![图片说明](https://img-ask.csdn.net/upload/201510/23/1445565472_991990.png)

使用INNER JOIN从两个表中删除数据

<div class="post-text" itemprop="text"> <p>I want to delete data from two tables with one SQL query according to <code>datetime_lastactive</code> and if the IP addresses is matching your own. But I'm getting this error message when I try out the following SQL query:</p> <p><code>Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INNER JOIN visitors_main WHERE information_ipaddress = '123.123.123.123' A' at line 2' in ...</code></p> <pre><code>DELETE FROM visitors_list INNER JOIN visitors_main WHERE information_ipaddress = :ipaddress AND datetime_lastactive &lt; NOW() - INTERVAL 3 HOUR </code></pre> <p>The tables looks like this:</p> <pre><code>CREATE TABLE IF NOT EXISTS `visitors_list` ( `id` int(10) NOT NULL AUTO_INCREMENT, `id_visitor` int(10) DEFAULT '0', `id_user` int(10) DEFAULT '0', `data_filename` text NOT NULL, `data_filename_get` text NOT NULL, `data_useragent` text NOT NULL, `datetime_lastactive` datetime NOT NULL, `information_ipaddress` text NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `id` (`id`) ) CREATE TABLE IF NOT EXISTS `visitors_main` ( `id` int(10) NOT NULL AUTO_INCREMENT, `id_user` int(10) DEFAULT '0', `data_coordinates` varchar(25) NOT NULL, `datetime_firstvisit` datetime NOT NULL, `checkbox_anonymous` tinyint(4) DEFAULT '0', `checkbox_tiecoordinates` tinyint(4) DEFAULT '0', `checkbox_nogps` tinyint(4) DEFAULT '0', `information_ipaddress` text NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `id` (`id`) ) </code></pre> <p>How can I make this work?</p> </div>

inner join on 多条件查询

inner join on后面如何实现多条件查询? from [mandala].[dbo].[PACS_His_Report] a inner join [mandala].[dbo].[EmrRecipe] b on a.visit_ord_no in ('b.HIS_OUTERID','b.HIS_INNERID','b.AdviceId')ERID','b.AdviceId') on后面需要加上多个条件! A表中a.visit_ord_no的 值在B表中三个字段都可能出现!

android中sqlite内联查询

``` private List<Map<String, Object>> getData(){ List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); Map<String, Object> map; String[] columns=new String[]{"a.name","b.name"}; Cursor cursor = my_app.get_dbhandle().query("village a inner join town b",columns,"a.fatherRegionId=b.id",null,null,null,null); while(cursor.moveToNext()&&cursor != null){ map = new HashMap<String, Object>(); for(String skey:columns){ if(skey.equals("village.name")){//skey要和数据库的字段一致 int code = cursor.getColumnIndex(skey); String village_name = cursor.getString(code); map.put("title", village_name); continue; } if(skey.equals("town.name")){ int code = cursor.getColumnIndex(skey); String town_name = cursor.getString(code); map.put("info", town_name); continue; } } list.add(map); } return list; } ``` 问题1:query()返回的cursor为空,内联查询应该怎么写才对? 问题2:if(skey.equals("village.name"))这样写肯定不行,如何将查询结果插入两列的listview?

Sqlite多表插入性能越来越慢

现象:在sqlite的数据库中创建2000张表,随后每隔5s向2000张表批量插入一次记录(每张表一条记录,跨表插入2000次),所有数据在一个事务中执行;数据库的pagesize = 8192,系统为win7 64位 硬盘 WD 7200rpm。 问题:刚开始插入数据是1.2s左右,当数据库文件增加到500MB左右时,写入耗时是4s左右,当数据库继续增长到800Mb左右时 ,写入耗时下降到5-6s左右; 求助:想请教内行的专家或高手,帮我分析下,写入性能在数据库达到800MB左右时,是否有可靠的方法将写入耗时降到2-3s【synchronize=full需要断电保护数据库,以免数据库损坏】

您可以在Golang中使用SQLite ATTACH和DETACH吗

<div class="post-text" itemprop="text"> <p>I am using <a href="https://github.com/mattn/go-sqlite3" rel="nofollow">https://github.com/mattn/go-sqlite3</a> in a Golang application. I need to use multiple databases, and was wondering whether I can use ATTACH and DETACH in Golang (<a href="http://sqlite.org/lang_attach.html" rel="nofollow">http://sqlite.org/lang_attach.html</a>).</p> <p>I don't have any code right now, because I don't know how else to tackle this problem except creating two database connections and joining data in the application:</p> <pre><code>db1, err := sql.Open("sqlite3", "./db1.db") db2, err := sql.Open("sqlite3", "./db2.db") // query db1 and db2 // put into map // join data </code></pre> <p>It would be much easier if you could use:</p> <pre><code>attach database database1.db as db1; attach database database2.db as db2; select * from db1.SomeTable a inner join db2.SomeTable b on b.SomeColumn = a.SomeColumn; </code></pre> </div>

保存SQLite android数据库中只有一行的id

<div class="post-text" itemprop="text"> <p>My android app is getting &amp; writing data to the server and to the SQlite database.</p> <p>I am fetching values for <code>jobaddress.id = 1</code>from server using a query (below). The values in <code>SELECT</code>statement are displaying perfectly in the UI of android app however when I press "Save", instead of values from the server, I need to save the id <code>1</code> from the server in the local database without shwoing the id in the UI. </p> <p>PHP sript (query only) for retrieving data from server:</p> <pre><code>$tsql = "SELECT tbl_manufacturers.manufacturers_name, tbl_appliances_models.appliances_models_name, tbl_appliances.appliances_serial, tbl_appliances.appliances_id, jobaddress.id FROM jobaddress INNER JOIN tbl_appliances ON jobaddress.id = tbl_appliances.appliances_jobaddress_id LEFT OUTER JOIN tbl_appliances_models INNER JOIN tbl_manufacturers ON tbl_appliances_models.appliances_models_manufacturers_id = tbl_manufacturers.manufacturers_id ON tbl_appliances.appliances_models_id = tbl_appliances_models.appliances_models_id WHERE (tbl_appliances.appliances_companies_id = 1) AND (jobaddress.id = 1)"; </code></pre> <p>Showing data using JSON Parser:</p> <pre><code>public void getJobAddress() { String result = null; InputStream isr = null; try { // Create a new HttpClient and Post Header HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://datanetbeta.multi-trade.co.uk/tablet/getJobAddress.php"); HttpResponse response = httpclient.execute(httppost); HttpEntity entity = response.getEntity(); isr = entity.getContent(); } catch(Exception e) { Log.e("Log_tag", "Error in hhtp connection " + e.toString()); } //convert Response to string try { BufferedReader reader = new BufferedReader(new InputStreamReader(isr,"UTF-8"), 8); StringBuilder sb = new StringBuilder(); String line = null; while((line = reader.readLine()) != null) { sb.append(line + " "); } isr.close(); result = sb.toString(); } catch(Exception e) { Log.e("log_tag", "Error converting result " + e.toString()); } try { JSONArray jArray = new JSONArray(result); for(int i=0; i &lt; jArray.length(); i++) { JSONObject json = jArray.getJSONObject(0); s = json.getString("address1"); t = json.getString("address2"); u = json.getString("postcode"); } tvJbAddrs1.setText(s); if(t == null) { tvJbAddrs2.setText(""); } else { tvJbAddrs2.setText(t); } tvJbPostcode.setText(u); } catch (Exception e) { Log.e("log_tag", "Error Parsing Data " + e.toString()); } } //getJobAddress() ends </code></pre> </div>

Sqlite内部连接不起作用:s

<div class="post-text" itemprop="text"> <pre><code>SELECT id, subject FROM pages AS a INNER JOIN articles AS b ON a.subject = b.id WHERE a.id = ? </code></pre> <p>It doesn't work, it says:</p> <blockquote> <p>General error: 1 ambiguous column name: id.</p> </blockquote> <p>But I made an alias of table pages (a) and used it in the WHERE clause. Why is it ambiguous then?</p> <p>Table pages has <code>id</code>, <code>subject</code> and some other columns. The <code>subject</code> column should link to the <code>id</code> column of another table, <code>articles</code></p> </div>

将两条sql语句合并成一条

select date_format(time,'%Y-%m-%d') as title, count(*) as num from meter where 1=1和select count(*) as imm_num from user u inner join meter m on u.id=m.userId and date_format(u.time,'%Y-%m-%d')=date_format(m.time,'%Y-%m-%d')能合并吗 求大神指点

尝试使用其他页面中的特定数据创建单独的html页面

<div class="post-text" itemprop="text"> <p>I am currently in the process of creating a baseball-themed website backed by a database. I have a Scores page that displays a league scoreboard for a chosen date by the user: <a href="https://i.stack.imgur.com/n0nG9.jpg" rel="nofollow noreferrer">Screenshot of Scores page</a></p> <p>I am using retrosheet game logs stored in a sqlite database to make this happen with the following code: </p> <pre><code>$sql = "SELECT *, v.teamName AS 'Visitor', h.teamName AS 'Home' " . "FROM Games2 " . "INNER JOIN TeamNames AS v " . "ON Games2.vTeam = v.teamID " . "INNER JOIN TeamNames AS h " . "ON Games2.homeTeam = h.teamID " . "WHERE date = $date"; $result = $conn-&gt;query($sql); while ($row = $result-&gt;fetch(SQLITE3_ASSOC)): ?&gt; &lt;div class="content"&gt; &lt;table class="left"&gt; &lt;tr&gt; &lt;th&gt; &lt;/th&gt; &lt;th&gt;R&lt;/th&gt; &lt;th&gt;H&lt;/th&gt; &lt;th&gt;E&lt;/th&gt; &lt;th rowspan="3"&gt;&lt;a href="./BoxScore.php"&gt;&lt;input id="box" type="button" value="Box Score"&gt;&lt;/a&gt;&lt;/th&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;?php echo $row['Visitor']; ?&gt;&lt;/td&gt; &lt;td&gt;&lt;?php echo $row['visitScore']; ?&gt;&lt;/td&gt; &lt;td&gt;&lt;?php echo $row['vH']; ?&gt;&lt;/td&gt; &lt;td&gt;&lt;?php echo $row['vE']; ?&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;?php echo $row['Home']; ?&gt;&lt;/td&gt; &lt;td&gt;&lt;?php echo $row['homeScore']; ?&gt;&lt;/td&gt; &lt;td&gt;&lt;?php echo $row['hH']; ?&gt;&lt;/td&gt; &lt;td&gt;&lt;?php echo $row['hE']; ?&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; </code></pre> <p>Now, where my issue is coming in. I'm trying to have it so when my "Box Score" button is clicked it redirects the user to a unique Box Score page built with the queried data on my Scores page. Could anyone provide some assistance about how I could/should go about doing this? </p> <p>I was thinking I could store the date and teams in PHP variables and then be able to query again on the new page using those variables to access that specific game possibly?</p> </div>

如何预装Gorm

<div class="post-text" itemprop="text"> <p>I am hitting a road block with preloading and associations</p> <pre><code>type Entity struct { ID uint `gorm:"primary_key"` Username string Repositories []*Repository `gorm:"many2many:entity_repositories"` } type Repository struct { ID uint `gorm:"primary_key"` Name string Entities []*Entity `gorm:"many2many:entity_repositories"` } </code></pre> <p>With small users numbers the preloading is fine using the below</p> <pre><code> db.Preload("Repositories").Find(&amp;list) </code></pre> <p>Also tried</p> <pre><code> db.Model(&amp;User{}).Related(&amp;Repository{}, "Repositories").Find(&amp;list) </code></pre> <p>The preload seems to a <code>select * entities</code> and then a inner join using a <code>SELECT * FROM "repositories" INNER JOIN "entity_repositories" ON "entity_repositories"."repository_id" = "repositories"."id" WHERE ("entity_repositories"."entity_id" IN ('1','2','3','4','5','6','7','8','9','10'))</code></p> <p>As the number of user's increases this is no longer maintainable as it hits a sqlite limit (dev). I've tried numerous permutations! .. Realistically i guess i just want it to do something like </p> <pre><code>SELECT entities.*, repositories.* FROM entities JOIN entity_repositories ON entity_repositories.entity_id = entities.id JOIN repositories ON repositories.id = entity_repositories.repository_id ORDER BY entities.id </code></pre> <p>And fill in the model for me .. </p> <p>Am I doing something obviously wrong or? </p> </div>

GORM many2很多预加载错误

<div class="post-text" itemprop="text"> <p>Currently using GORM to connect to two databases: POSTGRES AND sqlite (using a code switch to choose which one to use). I have a 2 database tables defined in my schema that look like this:</p> <pre><code>type TableClient struct { Model Synchronised bool FacilityID string `gorm:"primary_key"` Age int ClientSexID int MaritalStatusID int SpecificNeeds []TableOptionList`gorm:"many2many:options_specific_needs"` } type TableOptionList struct { ID int `gorm:"primary_key"` Name string Value string Text string SortKey int } </code></pre> <p>Previously, I would preload related table with code like this: </p> <pre><code>var dbClient TableClient Db.Where("facility_id = ? AND client_id = ? AND id = ?;", URLFacilityID, URLClientID, URLIncidentID). Preload("ClientSex"). Preload("MaritalStatus"). Preload("CareTakerRelationShip"). Preload("HighestLevelOfEducation"). Preload("Occupation"). Preload("SpecificNeeds"). First(&amp;dbClient) </code></pre> <p>Now that lookup fails with a syntax error and when I look at the SQL generated, it shows the following SQL is generated:</p> <pre><code>SELECT * FROM "table_option_lists" INNER JOIN "options_specific_needs" ON "options_specific_needs"."table_option_list_id" = "table_option_lists"."id" WHERE (("options_specific_needs"."table_client_id","options_specific_needs"."table_client_facility_id") IN (('one','LS034'))) </code></pre> <p>Pasting that into the sqlite console also fails with the same error: (near ",": syntax error) </p> </div>

使用Mamp和MySQL(PHP)“无法连接”

<div class="post-text" itemprop="text"> <p>I am trying to access my MySQL database with PHP, but my page keeps returning the error "unable to connect". Here is my code:</p> <pre><code>echo '&lt;ul&gt;'; $db_host = "localhost"; $db_user = "user"; $db_link = mysqli_connect($db_host, $db_user, $db_password, $db_name) or die ("Unable to connect"); $sqlQuery = "SELECT u.user_name, m.message_text, m.time_stamp FROM users AS u INNER JOIN messages m ON u.user_id = m.user_id"; $result = mysqli_query($db_link, $sqlQuery); if($result) { while ($row=mysqli_fetch_assoc($result)) { echo "&lt;li&gt;" . $row['message_text'] . "&lt;br&gt;" . $row['user_name'] . "&lt;br&gt;" . $row['time_stamp'] . "&lt;/li&gt; \t\t&lt;hr&gt;"; } } else { echo '&lt;p&gt;error displaying resultset&lt;/p&gt;'; } mysqli_close($db_link); echo '&lt;/ul&gt;'; </code></pre> </div>

在我这个例子中where 1=1 {0}什么意思?{0}指的哪个?

``` string table = @"select a.IDNumber,(a.SurName||a.Name) as Name,a.Sex,a.Gzdw,a.Rszgdw,sum(CASE WHEN b.[State]=0 THEN 1 ELSE 0 END) AS wsj ,sum(CASE WHEN b.[State]=1 THEN 1 ELSE 0 END) AS sz ,sum(CASE WHEN b.[State]=2 THEN 1 ELSE 0 END) AS cz ,sum(CASE WHEN b.[State]=3 THEN 1 ELSE 0 END) AS jc ,(select COUNT(distinct ID) from CardApplyRecord where EmployeeID=a.ID and [State]=0) AS sbz from Employee a inner join [Cards] b on a.IDNumber=b.IDNumber where 1=1 {0} group by a.ID,a.IDNumber,a.SurName,a.Name,a.Sex,a.Gzdw,a.Rszgdw order by a.Gzdw"; ``` 请问一下, where 1=1 {0}什么意思?{0}指的哪个? 麻烦大佬指点一下。

“无法获得未返回的生成器的返回值”php回溯

<div class="post-text" itemprop="text"> <p>I am trying to do backtracking to solved a problem but I get this error:</p> <p><a href="https://i.stack.imgur.com/WXdEq.png" rel="nofollow noreferrer">Error: genator hasn´t returned</a></p> <p>Fisrt I will introduce the main problem that the software must resolve:</p> <blockquote> <p>I have been trying to create the software for a hospital, this software must create a schedule with the doctors for each day. Each day must have 5 assigned doctors, one for a specialty called "trauma", another for "ucr" and another for "box13".</p> <p>Before assigning doctors, the user must enter the number of holes of each type that doctor can do that month. So I know how many "trauma", "ucr" or "box13" have any doctor that month.</p> <p>Aaah! one more thing, you can not assign a doctor two days in a row.</p> </blockquote> <p>So I decided to create a backtracking algorithm, the problem is that I am getting a Generator object at the end of the execution but I don´t get a valid return.</p> <pre><code>function bt($ps){ if($ps-&gt;is_solution()){ return $ps-&gt;get_solution(); } else{ yield from $ps-&gt;successors(); } } class Briker_vc_PS{ public function __construct( $decisiones, $diasTotalFinal, $fechaInicio, $box13, $ucr, $trauma, $numGuardiasAsig){ $this-&gt;decisiones= $decisiones; $this-&gt;diasTotalFinal = $diasTotalFinal; $this-&gt;fechaInicio = $fechaInicio; $this-&gt;box13 = $box13; $this-&gt;ucr = $ucr; $this-&gt;trauma = $trauma; $this-&gt;numGuardiasAsig = $numGuardiasAsig; } public function is_solution(){ return $this-&gt;numGuardiasAsig == $this-&gt;diasTotalFinal*5; } public function get_solution(){ return $this-&gt;decisiones; } public function state(){ return $this-&gt;decisiones[$this-&gt;fechaInicio]; } public function successors(){ if( array_key_exists( $this-&gt;fechaInicio, $this-&gt;decisiones) == false ){ $this-&gt;decisiones[$this-&gt;fechaInicio] = []; } if( array_key_exists( 'ids', $this-&gt;decisiones[$this-&gt;fechaInicio]) == false ){ $this-&gt;decisiones[$this-&gt;fechaInicio]['ids'] = []; } if( array_key_exists( $this-&gt;fechaInicio ,$this-&gt;decisiones) and array_key_exists( 'box13' ,$this-&gt;decisiones) and array_key_exists( 'trauma' ,$this-&gt;decisiones) and array_key_exists( 'ucr' ,$this-&gt;decisiones)){ if( (count($this-&gt;decisiones['trauma'])==1) and (count($this-&gt;decisiones['ucr'])==2) and (count($this-&gt;decisiones['box13'])==2) ){ $this-&gt;fechaInicio = date("Y-m-d",strtotime($this-&gt;fechaInicio." +1 day")); $this-&gt;decisiones[$this-&gt;fechaInicio]['date'] = $this-&gt;fechaInicio; } } $anterior = date("Y-m-d",strtotime($this-&gt;fechaInicio." -1 day")); $Lista=[]; if( array_key_exists( 'trauma' ,$this-&gt;decisiones) == false ){ foreach($this-&gt;trauma as $key =&gt; $val){ if( (in_array($key, $this-&gt;decisiones[$this-&gt;fechaInicio]['ids']) == false) and (in_array($key, $this-&gt;decisiones[$anterior]['ids']) == false) ){ $decisions= $this-&gt;decisiones; $decisions[$this-&gt;fechaInicio]['trauma'] = [$key]; $auxtra= $this-&gt;trauma; if($auxtra[$key] -1 == 0){ unset($auxtra[$key]); }else{ $auxtra[$key] = $auxtra[$key] -1; } $num = $this-&gt;numGuardiasAsig +1 ; $decisions[$this-&gt;fechaInicio]['ids'][] = $key; yield from bt(new Briker_vc_PS( $decisions, $this-&gt;diasTotalFinal, $this-&gt;fechaInicio, $this-&gt;box13, $this-&gt;ucr, $auxtra, $num)); } } } if( (array_key_exists( 'box13' ,$this-&gt;decisiones) == false) or (count($this-&gt;decisiones['box13'])&lt;2) ){ foreach($this-&gt;box13 as $key =&gt; $val){ if( (in_array($key, $this-&gt;decisiones[$this-&gt;fechaInicio]['ids']) == false) and (in_array($key, $this-&gt;decisiones[$anterior]['ids']) == false) ){ $decisions= $this-&gt;decisiones; if(array_key_exists( 'box13' ,$this-&gt;decisiones) == false){ $decisions[$this-&gt;fechaInicio]['box13'] = array(); } $decisions[$this-&gt;fechaInicio]['box13'][] = $key; $auxbox13= $this-&gt;box13; if($auxbox13[$key] -1 == 0){ unset($auxbox13[$key]); }else{ $auxbox13[$key] = $auxbox13[$key] -1; } $num = $this-&gt;numGuardiasAsig +1 ; $decisions[$this-&gt;fechaInicio]['ids'][] = $key; yield from bt( new Briker_vc_PS( $decisions, $this-&gt;diasTotalFinal, $this-&gt;fechaInicio, $auxbox13, $this-&gt;ucr, $this-&gt;trauma, $num)); } } } if( (array_key_exists( 'ucr' ,$this-&gt;decisiones) == false) or (count($this-&gt;decisiones['ucr'])&lt;2) ){ foreach($this-&gt;ucr as $key =&gt; $val){ if( (in_array($key, $this-&gt;decisiones[$this-&gt;fechaInicio]['ids']) == false) and (in_array($key, $this-&gt;decisiones[$anterior]['ids']) == false) ){ $decisions= $this-&gt;decisiones; if(array_key_exists( 'ucr' ,$this-&gt;decisiones) == false){ $decisions[$this-&gt;fechaInicio]['ucr'] = array(); } $decisions[$this-&gt;fechaInicio]['ucr'][] = $key; $auxucr= $this-&gt;ucr; if($auxucr[$key] -1 == 0){ unset($auxucr[$key]); }else{ $auxucr[$key] = $auxucr[$key] -1; } $decisions[$this-&gt;fechaInicio]['ids'][] = $key; $num = $this-&gt;numGuardiasAsig +1 ; yield from bt(new Briker_vc_PS( $decisions, $this-&gt;diasTotalFinal, $this-&gt;fechaInicio, $this-&gt;box13, $auxucr, $this-&gt;trauma, $num)); } } } } protected $GuardiasMedico; protected $decisiones; } </code></pre> <p>And this is the main program</p> <pre><code> $month = $_REQUEST['mes']; $year = $_REQUEST['any']; $fecha_inicio = "01-".$month."-".$year; // fisrt i get the number of "trauma", "ucr" and "box13" for each doctor // And i create a array with it with key the doctor_id $db = new SQLite3($dbname); $result = $db-&gt;query('SELECT m.id, m.nombre, m.apellido, mgm.ucr, mgm.trauma, mgm.box13 FROM medico AS m INNER JOIN MedicoGuardiaMes AS mgm ON m.id = mgm.doctor_id WHERE m.borrado = 0 AND mgm.mes = '.$month.' AND mgm.any = '.$year); $box13 = []; $ucr = []; $trauma = []; while($res = $result-&gt;fetchArray()){ $box13[$res['id']] = $res['box13']; $ucr[$res['id']] = $res['ucr']; $trauma[$res['id']] = $res['trauma']; } // I create the solution array and add the last day from the previous month $dataBaseDecisiones = []; $anterior = date("Y-m-d",strtotime($fecha_inicio." -1 day")); $dataBaseDecisiones[$anterior] = []; $dataBaseDecisiones[$anterior]['ids'] = []; $diasTotalFinal=cal_days_in_month(CAL_GREGORIAN, $month, $year); // Finally I create the initial object and starts the backtracking $initial_ps = new Briker_vc_PS($dataBaseDecisiones, $diasTotalFinal, $fecha_inicio, $box13, $ucr, $trauma, $numGuardiasAsig); var_dump( bt($initial_ps)-&gt;getReturn() ); </code></pre> <p>I don´t know why this code is not working or if I am using yield the right way.</p> </div>

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

我说我不会算法,阿里把我挂了。

不说了,字节跳动也反手把我挂了。

抖音上很火的时钟效果

反正,我的抖音没人看,别人都有几十万个赞什么的。 发到CSDN上来,大家交流下~ 主要用到原生态的 JS+CSS3。 具体不解释了,看注释: &lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;Title&lt;/tit...

记录下入职中软一个月(外包华为)

我在年前从上一家公司离职,没想到过年期间疫情爆发,我也被困在家里,在家呆着的日子让人很焦躁,于是我疯狂的投简历,看面试题,希望可以进大公司去看看。 我也有幸面试了我觉得还挺大的公司的(虽然不是bat之类的大厂,但是作为一名二本计算机专业刚毕业的大学生bat那些大厂我连投简历的勇气都没有),最后选择了中软,我知道这是一家外包公司,待遇各方面甚至不如我的上一家公司,但是对我而言这可是外包华为,能...

培训班出来的人后来都怎么样了?(二)

接着上回说,培训班学习生涯结束了。后面每天就是无休止的背面试题,不是没有头脑的背,培训公司还是有方法的,现在回想当时背的面试题好像都用上了,也被问到了。回头找找面试题,当时都是打印下来天天看,天天背。 不理解呢也要背,面试造飞机,上班拧螺丝。班里的同学开始四处投简历面试了,很快就有面试成功的,刚开始一个,然后越来越多。不知道是什么原因,尝到胜利果实的童鞋,不满足于自己通过的公司,嫌薪水要少了,选择...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

推荐9个能让你看一天的网站

分享的这9个保证另你意外的网站,每个都非常实用!非常干货!毫不客气的说,这些网站最少值10万块钱。 利用好这些网站,会让你各方面的技能都得到成长,不说让你走上人生巅峰,但对比现在的你,在眼界、学识、技能方面都有质的飞跃。 一、AIRPANO 传送门:https://www.airpano.com/360photo_list.php 这是一个可以躺在家里,就能环游世界的神奇网站。 世界那么大,绝大多...

大牛都会用的IDEA调试技巧!!!

导读 前天面试了一个985高校的实习生,问了他平时用什么开发工具,他想也没想的说IDEA,于是我抛砖引玉的问了一下IDEA的调试用过吧,你说说怎么设置断点...

都前后端分离了,咱就别做页面跳转了!统统 JSON 交互

文章目录1. 无状态登录1.1 什么是有状态1.2 什么是无状态1.3 如何实现无状态1.4 各自优缺点2. 登录交互2.1 前后端分离的数据交互2.2 登录成功2.3 登录失败3. 未认证处理方案4. 注销登录 这是本系列的第四篇,有小伙伴找不到之前文章,松哥给大家列一个索引出来: 挖一个大坑,Spring Security 开搞! 松哥手把手带你入门 Spring Security,别再问密...

97年世界黑客编程大赛冠军作品(大小仅为16KB),惊艳世界的编程巨作

这是世界编程大赛第一名作品(97年Mekka ’97 4K Intro比赛)汇编语言所写。 整个文件只有4095个字节, 大小仅仅为16KB! 不仅实现了3D动画的效果!还有一段震撼人心的背景音乐!!! 内容无法以言语形容,实在太强大! 下面是代码,具体操作看最后! @echo off more +1 %~s0|debug e100 33 f6 bf 0 20 b5 10 f3 a5...

不要再到处使用 === 了

我们知道现在的开发人员都使用 === 来代替 ==,为什么呢?我在网上看到的大多数教程都认为,要预测 JavaScript 强制转换是如何工作这太复杂了,因此建议总是使用===。这些都...

什么是a站、b站、c站、d站、e站、f站、g站、h站、i站、j站、k站、l站、m站、n站?00后的世界我不懂!

A站 AcFun弹幕视频网,简称“A站”,成立于2007年6月,取意于Anime Comic Fun,是中国大陆第一家弹幕视频网站。A站以视频为载体,逐步发展出基于原生内容二次创作的完整生态,拥有高质量互动弹幕,是中国弹幕文化的发源地;拥有大量超粘性的用户群体,产生输出了金坷垃、鬼畜全明星、我的滑板鞋、小苹果等大量网络流行文化,也是中国二次元文化的发源地。 B站 全称“哔哩哔哩(bilibili...

十个摸鱼,哦,不对,是炫酷(可以玩一整天)的网站!!!

文章目录前言正文**1、Kaspersky Cyberthreat real-time map****2、Finding Home****3、Silk – Interactive Generative Art****4、Liquid Particles 3D****5、WINDOWS93****6、Staggering Beauty****7、Ostagram图片生成器网址****8、全历史网址*...

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

大厂的 404 页面都长啥样?最后一个笑了...

每天浏览各大网站,难免会碰到404页面啊。你注意过404页面么?猿妹搜罗来了下面这些知名网站的404页面,以供大家欣赏,看看哪个网站更有创意: 正在上传…重新上传取消 腾讯 正在上传…重新上传取消 网易 淘宝 百度 新浪微博 正在上传…重新上传取消 新浪 京东 优酷 腾讯视频 搜...

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

代码注释如此沙雕,会玩还是你们程序员!

某站后端代码被“开源”,同时刷遍全网的,还有代码里的那些神注释。 我们这才知道,原来程序员个个都是段子手;这么多年来,我们也走过了他们的无数套路… 首先,产品经理,是永远永远吐槽不完的!网友的评论也非常扎心,说看这些代码就像在阅读程序员的日记,每一页都写满了对产品经理的恨。 然后,也要发出直击灵魂的质问:你是尊贵的付费大会员吗? 这不禁让人想起之前某音乐app的穷逼Vip,果然,穷逼在哪里都是...

一场疫情,炸出了退休的COBOL程序员

COBOL编程语言,估计大多数程序员从没听说过,我这样的编程老司机,也是只闻其名,从未一睹芳容。出门问了问度娘,答案如下:COBOL语言,是一种面向过程的高级程序设计语言,主要用于数据...

爬虫(101)爬点重口味的

小弟最近在学校无聊的很哪,浏览网页突然看到一张图片,都快流鼻血。。。然后小弟冥思苦想,得干一点有趣的事情python 爬虫库安装https://s.taobao.com/api?_ks...

讲真,这两款idea插件,能治愈你英语不好的病

时不时就有小伙伴问我,“二哥,能推荐一款 IDE 吗?”你看这话问的,现在搞 Java 的不都在用 Intellij IDEA 吗,还用得着推荐(我已经和 Eclipse 分手了)。然后小伙伴又说,“二哥,IDEA 支持中文吗?我英语不太好。”你看这话问的,搞编程的,英语不好是硬伤啊! 不过,随着 IDEA 最新版(版本号是 2020.1)的发布,英语不好的病可以彻底治愈了。为什么这么说呢?因为 ...

在拼多多上班,是一种什么样的体验?我心态崩了呀!

之前有很多读者咨询我:武哥,在拼多多上班是一种什么样的体验?由于一直很忙,没抽出时间来和大家分享。上周末特地花点时间来写了一篇文章,跟大家分享一下拼多多的日常。 1. 倒时差的作息 可能很多小伙伴都听说了,拼多多加班很严重。这怎么说呢?作息上确实和其他公司有点区别,大家知道 996,那么自然也就能理解拼多多的“11 11 6”了。 所以当很多小伙伴早上出门时,他们是这样的: 我们是这样的: 当...

又一起程序员被抓事件

就在昨天互联网又发生一起让人心酸的程序员犯罪事件,著名的百度不限速下载软件 Pandownload PC 版作者被警方抓获。案件大致是这样的:软件的作者不仅非法盗取用户数据,还在QQ群进...

瑞德西韦重症用药结果再曝光,上百名重症一周内好转,股价大涨19%

郭一璞 发自 凹非寺量子位 报道 | 公众号 QbitAI期盼已久的瑞德西韦临床数据,现在“偷跑”了。在芝加哥大学医学院的临床试验中,125名病人参与,大部分人都已经出院,其中只有2名病...

应聘3万的职位,有必要这么刁难我么。。。沙雕。。。

又一次被面试官带到坑里面了。面试官:springmvc用过么?我:用过啊,经常用呢面试官:springmvc中为什么需要用父子容器?我:嗯。。。没听明白你说的什么。面试官:就是contr...

Vue商城——详情页功能

详情页实现思路 点击商品进去详情页,根据点击请求更加详细的信息,要传过来goodsItem的iid,根据id去服务器请求更加详细的信息;配置路由映射关系,点击进行跳转,带参数传递跳转 itemClick(){ this.$router.push('/detail/'+this.goodsItem.iid) /* this.$router.push({ ...

太狠了,疫情期间面试,一个问题砍了我5000!

疫情期间找工作确实有点难度,想拿到满意的薪资,确实要点实力啊!面试官:Spring中的@Value用过么,介绍一下我:@Value可以标注在字段上面,可以将外部配置文件中的数据,比如可以...

自学编程的 6 个致命误区

嗨,小伙伴们大家好,我是沉默王二。本篇文章来和大家聊聊自学编程中的一些误区——这是我在 B 站上看了羊哥的一期视频后有感而发的文章。因为确实有很多读者也曾私信问过我这些方面的问题,很有代表性,所以我就结合自己的亲身体会来谈一谈,希望对小伙伴们有所启发。 01、追求时髦 所谓基础不牢,地动山摇啊。可很多小伙伴压根就没注意过这个问题,市面上出什么新鲜的技术就想去尝试,结果把自己学的乱七八糟,心灰意冷...

你离黑客的距离,就差这20个神器了

郑重声明:本文仅限技术交流,不得用于从事非法活动 在不少电影电视剧中,主角的身边都有这么一位电脑高手:他们分分钟可以黑进反派的网络,攻破安全防线,破解口令密码,拿到重要文件。他们的电脑屏幕上都是一些看不懂的图形和数字,你能看懂的就只有那个进度条,伴随着紧张的BGM,慢慢的向100%靠近······ 上面的场景和套路是不是很眼熟? 影视作品中的黑客当然有夸张和戏剧化的表现,不过,现实世界中的黑客也...

Linux基础:xargs命令-I选项使用技巧

这篇文章使用具体示例来介绍一下xargs命令-I参数的常见使用方法。

一个华为离职者的离职感言,干货满满

11.8Y, 40-, 3.30提离职,本月底截止。 离职原因: 1.年龄大,职级低,处境尴尬。 2.常年处于紧绷状态,身心疲乏,近来工作干劲不足,没有期待。 现在离职时机的选择比较尴尬。主要有以下几点: 1. 赶上了疫情,外部就业环境险恶。 2. 最近公司出台了ESOP1政策,享受不到政策好处了。 3. 到了沟通奖金的时间。 我是去年底挂简历,询问的猎头不少,约面试的只有一家,面...

我和AI打了六局王者荣耀,心态崩了

十三 发自 凹非寺量子位 报道 | 公众号 QbitAI今天,我和AI绝悟打了6局王者荣耀,心态有点崩。没赢过?不,比分3:3打平,还拿过MVP。那怎么就崩溃了?听我慢慢道来。PVP对战...

相关热词 c# 按行txt c#怎么扫条形码 c#打包html c# 实现刷新数据 c# 两个自定义控件重叠 c#浮点类型计算 c#.net 中文乱码 c# 时间排序 c# 必备书籍 c#异步网络通信
立即提问