我想从两个没有任何共同元素的表中进行选择 我正在尝试使用此代码,但是我的语法不正确,','。
select top 1 inventory.name, customer.name
from inventory
where inventor.name='test' , customer where customer.name='test2'
答案 0 :(得分:1)
它导致两张桌子的笛卡尔积。 (交叉加入)。试试这样,
08-19 12:30:03.380 13446-13446/ke.co.clickaway.squirrel.clickawaytechnologies
E/AndroidRuntime: FATAL EXCEPTION: main
Process: ke.co.clickaway.squirrel.clickawaytechnologies, PID: 13446
java.lang.IllegalArgumentException: You must pass in a non null View
at com.bumptech.glide.GenericRequestBuilder.into(GenericRequestBuilder.java:678)
at com.bumptech.glide.DrawableRequestBuilder.into(DrawableRequestBuilder.java:448)
at ke.co.clickaway.squirrel.clickawaytechnologies.Adapters.Graphics_adapter.onBindViewHolder(Graphics_adapter.java:40)
at ke.co.clickaway.squirrel.clickawaytechnologies.Adapters.Graphics_adapter.onBindViewHolder(Graphics_adapter.java:21)
at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:5471)
at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:5504)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4741)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4617)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:1994)
at android.support.v7.widget.GridLayoutManager.layoutChunk(GridLayoutManager.java:528)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1353)
at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:574)
at android.support.v7.widget.GridLayoutManager.onLayoutChildren(GridLayoutManager.java:170)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3028)
at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2906)
at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3283)
at android.view.View.layout(View.java:14981)
at android.view.ViewGroup.layout(ViewGroup.java:4790)
at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1055)
at android.view.View.layout(View.java:14981)
at android.view.ViewGroup.layout(ViewGroup.java:4790)
at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1695)
at android.view.View.layout(View.java:14981)
at android.view.ViewGroup.layout(ViewGroup.java:4790)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1525)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
at android.view.View.layout(View.java:14981)
at android.view.ViewGroup.layout(ViewGroup.java:4790)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
at android.view.View.layout(View.java:14981)
at android.view.ViewGroup.layout(ViewGroup.java:4790)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1525)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
at android.view.View.layout(View.java:14981)
at android.view.ViewGroup.layout(ViewGroup.java:4790)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
at android.view.View.layout(View.java:14981)
at android.view.ViewGroup.layout(ViewGroup.java:4790)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1525)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
at android.view.View.layout(View.java:14981)
at android.view.ViewGroup.layout(ViewGroup.java:4790)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
at android.view.View.layout(View.java:14981)
at android.view.ViewGroup.layout(ViewGroup.java:4790)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:1998)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1753)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1006)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5652)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
at a
08-19 12:30:03.901 612-13757/? E/android.os.Debug: !@Dumpstate > sdumpstate -k -t -z -d -m 13446 -o /data/log/dumpstate_app_error
08-19 12:30:04.411 13477-13497/? E/IntentOperationSvc: Failed to instantiate Chimera operation impl, dropping operation
答案 1 :(得分:1)
where
子句不会将,
用于条件。您希望and
或or
连接条件。您还需要join
。
所以,我认为你打算:
select top 1 i.name, c.name
from inventory i cross join
customer c
where i.name = 'test' and c.name = 'test2';
通常情况下,join
会有join
条件,但您的问题并不表示问题。这是预期的:
select top 1 i.name, c.name
from inventory i cross join
customer c
on i.customer_id = c.customer_id
where i.name = 'test' and c.name = 'test2';
但是,您再次限制name
子句中的where
列,那么为什么不这样做呢?
select 'test', 'test2';
并完全不使用这些表格?
答案 2 :(得分:0)
您只需编写如下所示的查询即可获得所需的输出。假设您只需要前1列..
SELECT (SELECT top 1 i.name
FROM inventory i
WHERE i.name = 'test') InventoryName,
(SELECT TOP 1 c.name
FROM customer c
WHERE c.name = 'test2') Customername